#ifndef _HH_T_TRIANGULO_T_HH_
#define _HH_T_TRIANGULO_T_HH_

#include "Float.h"

class Triangulo
{
  public:
  	Triangulo(const Float &, const Float &, const Float &, unsigned int);
  	Triangulo(const Triangulo &);
  	Triangulo& operator=(const Triangulo &);
  	
  	const Float & obtenerU() const;
  	const Float & obtenerV() const;
  	const Float & obtenerW() const;
  	
  	Float areaHeron() const;
	Float areaDiferenciasFaciales() const;
	Float areaDiferenciasFacialesRevisado() const;
	
	bool operator==(const Triangulo &) const;
	bool operator!=(const Triangulo &) const;
  	
  private:
  	Float u, v, w;
  	unsigned int precision;
  	
  	void copiar(const Triangulo &);
  	Float calculoDeParentesis(const Float &, const Float &, const Float &) const;
  	
  protected:
  	void definirU(const Float &);
  	void definirV(const Float &);
  	void definirW(const Float &);
};

#endif//_HH_T_TRIANGULO_T_HH

